/**
 * 
 */
package abel.wlmr.config;

import java.util.HashSet;
import java.util.Set;

import abel.wlmr.model.type.WlmrAddrBody;

/**
 * @author Abel
 *
 */
public class MsaConfig {

    private WlmrAddrBody main = new WlmrAddrBody();

    /**
     * query period in minutes.
     */
    private int queryPeriod;

    /**
     * Sending heart period in every idle events.
     */
    private int heartPeriod;

    /**
     * Send downwards every duration.
     */
    private int firstTaskMinutes;

    /**
     * Send downwards every duration.
     */
    private int firstDataMinutes;

    /**
     * Send downwards every duration.
     */
    private int secondTaskMinutes;

    /**
     * Send downwards every duration.
     */
    private int secondDataMinutes;

    private Set<String> statList = new HashSet<>();

    /* (non-Javadoc)
     * @see java.lang.Object#toString()
     */
    @Override
    public String toString() {
        return String.format(
            "{main:%s, heartPeriod:%s, firstTaskMinutes:%s, firstDataMinutes:%s, secondTaskMinutes:%s, secondDataMinutes:%s, statList:%s}",
            main, heartPeriod, firstTaskMinutes, firstDataMinutes, secondTaskMinutes, secondDataMinutes, statList);
    }

    /**
     * @return the main
     */
    public WlmrAddrBody getMain() {
        return main;
    }

    /**
     * @param main
     *            the main to set
     */
    public void setMain(WlmrAddrBody main) {
        this.main = main;
    }

    /**
     * @return the queryPeriod
     */
    public int getQueryPeriod() {
        return queryPeriod;
    }

    /**
     * @param queryPeriod
     *            the queryPeriod to set
     */
    public void setQueryPeriod(int queryPeriod) {
        this.queryPeriod = queryPeriod;
    }

    /**
     * @return the heartPeriod
     */
    public int getHeartPeriod() {
        return heartPeriod;
    }

    /**
     * @param heartPeriod
     *            the heartPeriod to set
     */
    public void setHeartPeriod(int heartPeriod) {
        this.heartPeriod = heartPeriod;
    }

    /**
     * @return the firstTaskMinutes
     */
    public int getFirstTaskMinutes() {
        return firstTaskMinutes;
    }

    /**
     * @param firstTaskMinutes
     *            the firstTaskMinutes to set
     */
    public void setFirstTaskMinutes(int firstTaskMinutes) {
        this.firstTaskMinutes = firstTaskMinutes;
    }

    /**
     * @return the firstDataMinutes
     */
    public int getFirstDataMinutes() {
        return firstDataMinutes;
    }

    /**
     * @param firstDataMinutes
     *            the firstDataMinutes to set
     */
    public void setFirstDataMinutes(int firstDataMinutes) {
        this.firstDataMinutes = firstDataMinutes;
    }

    /**
     * @return the secondTaskMinutes
     */
    public int getSecondTaskMinutes() {
        return secondTaskMinutes;
    }

    /**
     * @param secondTaskMinutes
     *            the secondTaskMinutes to set
     */
    public void setSecondTaskMinutes(int secondTaskMinutes) {
        this.secondTaskMinutes = secondTaskMinutes;
    }

    /**
     * @return the secondDataMinutes
     */
    public int getSecondDataMinutes() {
        return secondDataMinutes;
    }

    /**
     * @param secondDataMinutes
     *            the secondDataMinutes to set
     */
    public void setSecondDataMinutes(int secondDataMinutes) {
        this.secondDataMinutes = secondDataMinutes;
    }

    /**
     * @return the statList
     */
    public Set<String> getStatList() {
        return statList;
    }

    /**
     * @param statList
     *            the statList to set
     */
    public void setStatList(Set<String> statList) {
        this.statList = statList;
    }

}
